The fish belt transect (BLT) protocol is the primary method used to quantify reef fish assemblages at UVS sites. Divers swim standardized belt transects, visually identifying and sizing all fishes observed within a defined area. This method yields robust estimates of fish abundance, biomass, and community structure across depth strata and regions (see SOP for full methods).
Fish BLT data are stored into three tables:
uvs.blt_stations — Metadata for each station, including depth, diver, effort, and summary metrics
uvs.blt_observations — Raw fish counts by species, size class, and transect
uvs.blt_biomass_by_taxa — Derived biomass by station and taxon, using length-weight relationships
All records are linked via ps_station_id, and species names are standardized using taxon_id from taxonomy.fish.
uvs.blt_stations
This table contains one row per depth-stratified fish survey conducted at a UVS site. Each row includes dive metadata, survey effort (e.g., number of transects, area surveyed), and ecological summaries such as richness, total abundance, and biomass. Stations are linked to uvs.sites via ps_site_id. The ps_station_id is generated by appending a standardized depth bin label to the ps_site_id.
Standard depth strata for UVS methods
To ensure consistency across sites and protocols, station depth (depth_m) is binned into standard strata using fixed thresholds. The binned depth label is then appended to the ps_site_id to generate a unique ps_station_id.
Depth strata and labels:
Supershallow: <= 6 m → 05m
Shallow: 7–14 m → 10m
Deep: >= 15 m → 20m
Examples:
If a fish transect is conducted at 5.8 m → station ID = FJI_2025_uvs_001_05m
If the same site has another transect at 14.7 m → FJI_2025_uvs_001_10m
This depth binning scheme ensures consistent stratification across analyses, regardless of slight depth variation between dives.
Table 1: Fields in the uvs.blt_stations table
Field
Type
Required
Description
ps_station_id
STRING
true
Unique station ID (ps_site_id_depth), e.g., CHL_2024_uvs_001_20m
ps_site_id
STRING
true
◂ Foreign key to UVS site table
exp_id
STRING
true
◂ Expedition ID (ISO3_YEAR)
method
STRING
true
◂ Survey method (uvs)
protocol
STRING
true
Survey protocol (fish_blt) used at the station
divers
STRING
true
Names of divers who conducted the transects (comma-separated)
date
DATE
true
◂ Survey date (YYYY-MM-DD)
time
TIME
true
◂ Survey start time (24-hour format)
depth_m
FLOAT
true
Average depth of the station (m)
depth_strata
STRING
true
Binned depth category: supershallow, shallow, or deep
region
STRING
true
◂ Region name
subregion
STRING
true
◂ Subregion name
locality
STRING
false
◂ Optional local feature (e.g., reef, bay, cove)
n_transects
INTEGER
true
Number of fish transects completed at the station
transect_length
FLOAT
true
Length of each transect (m)
transect_width
FLOAT
true
Width of each transect (m)
survey_area_m2
FLOAT
true
Total area surveyed at the station (m²)
habitat
STRING
true
◂ Habitat type (see controlled vocabulary)
exposure
STRING
true
◂ Exposure type (see controlled vocabulary)
n_species
INTEGER
false
Species richness (optional summary)
abundance_m2
FLOAT
false
Fish abundance (individuals/m², optional summary)
biomass_gm2
FLOAT
false
Fish biomass (grams/m², optional summary)
notes
STRING
false
Optional comments or QA notes
uvs.blt_observations
This table contains one row per fish observation recorded on an individual transect during a belt transect survey. Observations represent raw field data collected by divers and include species identity, estimated size, and count. Each row corresponds to a unique combination of species, size class, and transect.
Linked to the uvs.blt_stations table via ps_station_id
Taxonomic identity is standardized using accepted_name and aphia_id, which join to taxonomy.fish
Fish size (length_cm) and abundance (count) are used to calculate derived metrics (e.g., biomass) in downstream summaries
Transect dimensions by fish size
Fish ≥ 20 cm are recorded along a 25 m × 4 m belt (100 m²)
Fish < 20 cmare recorded along a 25 m × 2 m belt (50 m²) Note: When transects deviate from standard dimensions, actual surveyed area should be recorded and used for calculations.
Table 2: fish.observations Table Schema
Field
Type
Required
Description
obs_id
STRING
true
Unique observation ID from diver datasheet (e.g., CHL_2024_blt_AMF_0001)
Transect label: A, B, or C; OFF for observations recorded outside standard transects
depth_m
FLOAT
true
Depth at which the transect was conducted
accepted_name
STRING
true
Scientific name (Genus species) of observed taxon
aphia_id
STRING
true
Unique AphiaID from WoRMS — links to taxonomy.fish
length_cm
FLOAT
true
Estimated total length (cm) of individual or size class
terminal_phase
BOOLEAN
false
TRUE if individual was identified as terminal phase (e.g., parrotfishes)
count
INTEGER
true
Number of individuals observed in this size class
notes
STRING
false
Optional comments or QA notes
Off-transect observations
Fish observed outside of standard transects (e.g., large pelagics, megafauna) are recorded using transect = "OFF". These are included for completeness but should be treated separately in standardized analyses.
uvs.blt_biomass_by_taxa
This table contains station-level summaries of reef fish biomass and abundance by species, derived from raw BLT transect observations. It is the primary analysis-ready table for generating summaries, figures, and community structure plots.
Each row represents a unique combination of ps_station_id and species, with metrics standardized to g/m² (biomass) and ind./m² (abundance). All values are computed using species-specific length–weight parameters from the taxonomy.fish table.
Taxonomic and ecological fields — including family, trophic group, and functional group — are joined from the central species reference and enable flexible aggregation for trophic or functional analyses.
Table 3: uva.blt_biomass_by_taxa Table Schema
Field
Type
Required
Description
ps_station_id
STRING
true
◂ Foreign key to uvs.blt_stations
exp_id
STRING
true
◂ Expedition ID (ISO3_YEAR)
ps_site_id
STRING
true
◂ Site ID for spatial grouping
region
STRING
true
◂ Region name
subregion
STRING
true
◂ Subregion name
depth_strata
STRING
true
Binned depth category: supershallow, shallow, or deep
depth_m
FLOAT
true
Average depth of the station (m)
aphia_id
STRING
true
◂ Species ID (linked to taxonomy.fish)
accepted_name
STRING
false
Scientific name (Genus species)
family
STRING
false
Taxonomic family (e.g., Acanthuridae)
trophic_group
STRING
false
Ecological trophic group (e.g., piscivore, herbivore)